﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AirTickets
{
    enum EstadoBillete
    {
        Disponible, Asignado
    }

    class Billete
    {
        Asiento _asiento;
        Vuelo _vuelo;
        EstadoBillete _estado;
        Compra _compra;

        public Billete(Vuelo vuelo, Asiento asiento)
        {
            _asiento = asiento;
            _vuelo = vuelo;
            _estado = EstadoBillete.Disponible;
        }

        public void Asignar(Compra compra)
        {
            if (_estado == EstadoBillete.Disponible)
            {
                _compra = compra;
                _estado = EstadoBillete.Asignado;
            }
            else
                throw new Exception("El billete ya está asignado");
        }

        public void Liberar()
        {
            _estado = EstadoBillete.Disponible;
        }

        public EstadoBillete Estado
        {
            get { return _estado; }
        }

        public string DescriptorAsiento { get { return _asiento.Descriptor; } }
        public string Descriptor { get { return _vuelo.Descriptor + " " + _asiento.Descriptor; } }
    }
}
